#ifndef _CTC_DIAG_CLI_H_
#define _CTC_DIAG_CLI_H_


#ifdef __cplusplus
extern "C" {
#endif


#include "sal.h"
#include "asw/include/drv_api.h"
#include "asw/include/drv_io.h"

#define MAX_IVM_X_REG_NUM 16
#define MAX_VLAN_HASH_REG_NUM 256
#define MAX_VLAN_REG_TOTAL_NUM (MAX_IVM_X_REG_NUM + MAX_VLAN_HASH_REG_NUM)

#define MAX_ACL_ENTRY_REG_NUM 128
#define ACL_1X_ENTRY_SIZE 160
#define MAX_PORT_NUM 29
#define VLAN_IVM_X_REG_NUM 11
#define MAX_SERDES_NUM 16
struct vlan_mapping_para_s
{
    uint16 table_index;
    uint16 key_type;
};
typedef struct vlan_mapping_para_s vlan_mapping_para_t;

struct acl_entry_para_s
{
    uint16 table_index;
    uint8 key_type;
    uint8 action_type;
    uint16 size;
};
typedef struct acl_entry_para_s acl_entry_para_t;

extern int32
ctc_cli_asw_qos_get_monitor_glb_pool_state(ctc_vti_t* vty, uint8 lchip);

extern int32 
ctc_cli_asw_qos_get_monitor_port_state(ctc_vti_t* vty, uint8 lchip, uint32 gport);

extern int32
ctc_cli_asw_acl_get_entry_all(ctc_vti_t* vty, uint8 lchip, acl_entry_para_t* p_acl_entry_para, uint32* total_num);

extern int32
ctc_cli_asw_vlan_get_mapping_all(ctc_vti_t* vty, uint8 lchip, vlan_mapping_para_t * p_vlan_mapping_para,uint32 *total_num);

#ifdef __cplusplus
}
#endif

#endif

